package Problem13;


/**
 * 按照罗马数规则，相加即可
 * 注意的是要是 i+1 > i 的话就 IV 这种情况了。这样就不加 i ，改为减去 i  （此处 i 代表第i个数字，不是i的值）
 */

public class Solution {
    public int romanToInt(String s) {
        int num = 0;
        for (int i = 0 ; i < s.length() ; i++){
            if ( i < s.length()-1 && returnNumber(s.charAt(i)) < returnNumber(s.charAt(i+1)) )
                num -= returnNumber(s.charAt(i));
            else
                num += returnNumber(s.charAt(i));
        }
        return num;
    }

    public int returnNumber(char c){
        switch (c) {
            case 'I': return 1;
            case 'V': return 5;
            case 'X': return 10;
            case 'L': return 50;
            case 'C': return 100;
            case 'D': return 500;
            case 'M': return 1000;
            default:{
                System.out.println("输入错误");
                return 1372224241; // My QQ --- 皮一下很开心
            }
        }
    }
}
